﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using ProjControleDAL;
using ProjControleModelos;

namespace ProjControleBLL
{
   public class AgendamentoBLL
    {
       AgendamentoDAL objDAL = null;
       public AgendamentoBLL()
       {
       }
        #region Métodos
        //inserir
       public void inserir(Agendamento objA)
       {
           try
           {
               if (objA.cod_cliente == 0 || objA.cod_funcionario == 0 || objA.descricao_agendamento == "")
                   throw new Exception("Campos Obrigatórios Invalidos");
               else
               {
                   objDAL = new AgendamentoDAL();
                   objDAL.inserir(objA);
               }
           }
           catch (Exception ex)
           {
               
               throw ex;
           }
           objDAL = null;
       }
       //alterar
       public void alterar(Agendamento objA)
       {
           try
           {
               if(objA.cod_agendamento == 0 || objA.cod_cliente == 0 || objA.cod_funcionario == 0 || objA.descricao_agendamento == "")
                   throw new Exception("Campos Obrigatórios Invalidos");
               else
               {
                   objDAL = new AgendamentoDAL();
                   objDAL.alterar(objA);
               }
           }
           catch (Exception ex)
           {
               
               throw ex;
           }
           objDAL = null;
       }
       //excluir
       public void excluir(Agendamento objA)
       {
           try
           {
               if (objA.cod_agendamento == 0)
                   throw new Exception("Campo Obrigatório Invalido");
               else
               {
                   objDAL = new AgendamentoDAL();
                   objDAL.excluir(objA);
               }
           }
           catch (Exception ex)
           {
               
               throw ex;
           }
           objDAL = null;
       }
       //localizar
       public Agendamento localizar(int codigo)
       {
           Agendamento objA = null;
           try
           {
               objDAL = new AgendamentoDAL();
               objA = objDAL.localizar(codigo);
           }
           catch (Exception ex)
           {
               
               throw ex;
           }
           objDAL = null;
           return objA;
       }
       //localizar pelo nome
       public DataTable localizar(String nome,DateTime dtInicial, DateTime dtFinal)
       {
           DataTable tab;
           try
           {
               objDAL = new AgendamentoDAL();
               tab = objDAL.localizar(nome, dtInicial, dtFinal);
           }
           catch (Exception ex)
           {
               
               throw ex;
           }
           objDAL = null;
           return tab;
       }
       public DataTable localizar()
       {
           DataTable tab;
           try
           {
               objDAL = new AgendamentoDAL();
               tab = objDAL.localizar();
           }
           catch (Exception ex)
           {

               throw ex;
           }
           objDAL = null;
           return tab;
       }
        #endregion
    }
}
